This invention relates to a system and method for registering voice codes (xe2x80x9cVCodesxe2x80x9d) associated with stored content corresponding to the VCodes, wherein the VCode may be used to access the stored content via telephone by calling a central number and entering the VCode or verbally describing the object, attraction or subject, in which case the verbal description is associated with a VCode or collection of VCodes.
Information is most useful when it is delivered to the right person at the right time. Delivery of the right information to the right person has been a problem that many businesses have attempted to solve over the years. Indeed, an entire industry of decision support technology exists to deliver information to members of a business based on massive amounts of data collected about the businesses. The World Wide Web and the Internet have provided an avenue for information delivery, but current Web-based systems still fail to adequately deliver the right information at the right time. One of the major problems with the World Wide Web is the requirement to utilize a computer and web-browser to access its contents. Although penetration of computers throughout the world has increased, that penetration is far from making information readily available to everyone wherever they happen to be.
Moreover, most computer users connect to the Web through a land line. Most users therefore do not have access to Web content when they are away from a land line. Although technology is being developed to enable World Wide Web access through other mediums, such as web-enabled personal digital assistants, for example, such technology require users to purchase new equipment to access this technology. Given the sparse penetration of personal digital assistants already, this technology does not satisfy the need for delivery of timely information.
Therefore, existing systems do not provide a readily available medium for delivery of the right information at the right time or a system for delivering that information. These and other drawbacks exist with current systems.
One aspect of the invention relates to creating a novel VCode registration system. A VCode is a code that may be assigned to a particular xe2x80x9cpagexe2x80x9d of content that can be delivered to a user via phone or other delivery device, preferably to enable the user to hear the content. A user may access the content corresponding to the VCode by entering the VCode through an interactive communications device, such as a land or mobile telephone. Also, VCodes may be input through verbal descriptions which are then associated with the desired VCode and corresponding pages or pages of content. A voice-to-text, natural language engine, and/or best fit correspondence engine may be used to interpret verbal descriptions to determine which VCode and corresponding page of content to generate for the user.
These pages of content corresponding to the VCodes are referred to herein as VPages. A VPage can consist of any grouping of content that is stored at a single location. A VPage contains both voice content and a means of structuring it. Voice content may be stored in any format. One possible format is an audio file. Another is a text file, the content of which may be subsequently converted to audio via a text to speech (TTS) engine. A VPage may reference content stored in other locations. In one implementation, VPages may be stored as files on a server""s filesystem. In another, they may be records in a database. In one implementation, they may be stored in an XML-based format such as TML (see appendix) or VoiceXML.
VCodes may also be assigned to collections of related VPages. These collections of one or more VPages are referred to herein as VBooks. Each VPage or VBook is stored on a particular server. If multiple servers are used, each server may be assigned a VCode portion to identify the server. If servers are located in different locations or are operated by different voice network access providers, VNAPs, another VCode portion may be used to designate the server location. A VPage may contain other VCodes or other links that may be presented to a user to enable the user to link from an initial VPage to another. For example, the first page of a VBook may provide an indication of other VPages in that VBook that are accessible by entering the appropriate VCode (or other input). Also, when a user accesses one or more VPages, the VPage may provide a voice menu to a user with numbers associates with each menu item to enable a user to access other VPages (in that VBook or otherwise) or other choices. Also, the user may be permitted to use verbal commands to select options within a VPage. Again, voice-to-text, natural language, and best-fit modules may be used to interpret the user""s verbal option request and act upon the request accordingly. According to another embodiment, a VPage or VBook may enable a user to be transferred to another VBook, another VNAP, or a VAdvertisement (as described below), among other things.
VCodes provide a means for addressing voice content. A VCode may be any data string that references unambiguously a single voice page. It can take on any of a number of forms. In one implementation, a VCode may be a string of DTMF values (values on a telephone keypad: 1,2,3, . . . 0,#,*). In another, a VCode may be a spoken word or series of words (an automatic speech recognition (ASR) engine may be used here to interpret user input). A VCode may be in any of a number of other formats, provided it unambiguously references a single VPage.
A VCode may be a simple numeric code or an alphanumeric code (including symbols such as # and *) or any other code that may be entered via a keypad of a phone or other interactive communications device or through voice recognition technology now or in the future. For example, but without limitation, the VCode may be a seven digit number. Each unique VCode corresponds to a VPage, a VBook, or in other embodiments, other levels of information relating to a VPage or VBook (e.g., where the VBook or VPage is stored, the xe2x80x9cprovider of the content,xe2x80x9d or other information). For example, different levels of sophistication may be used for a VCode.
A VCode may comprise of one or more fields. A VCode with more than one field will be referred to as a multi-level VCode. A multi-level scheme may be used to specify various aspects of the referenced VPage. For example, a VPage stored as a file on a file server may have a VCode with one field to specify host on which the VPage resides, another to specify its directory, and another to specify its name. The fields of such a multi-level VCode can take on any of a number of forms (DTMF, speech signals, etc.) and be concatenated using any of a number of schemes (in a multi-level DTMF VCode, the fields may be separated by a xe2x80x98*xe2x80x99).
It should be noted that multiple VCodes in multiple formats may refer to the same VPage. Such a scheme may be used to allow a single page to be referenced by an easy-to-remember DTMF string (SMITHSONIAN*AIRSPACE# on the telephone keypad, e.g.), and easy-to-type DTMF string (149#), and an easy-to-say text string (xe2x80x9cthe Smithsonian air and space museumxe2x80x9d).
According to one embodiment, the VCode comprises at least two partsxe2x80x94a VBook identifier portion and a VPage identifier portion, with the portions separated by a separation character (e.g., the * key of a telephone keypad). For example, the Smithsonian Museum may have a VBook of VPages for its displays. The Smithsonian VBook number may be 38367 and Monet""s Water Lillies painting may have a VPage number of 789. To access the Smithsonian""s Monet Water Lillies VPage, the user would enter 38367*789 (VBook * VPage). Also, Van Gogh""s Sunflowers painting may have a VPage code of 790. The user may enter 38367*790 to access the voice information corresponding to that painting.
According to another embodiment of the present invention, a VCode may comprise multiple portions, at least one of which may correspond to a predetermined category. For example, VPages may be categorized by content type (e.g., sports, television, retail, museum, etc.), content provider type (e.g., individual, company, organization, government), size (e.g., large, medium, small), cost (e.g., premium, discount, regular), and other methods of categorization. For example, an individual VPage may be assigned 463*123456, where 463 corresponds to an individual VPage and 123456 is the code assigned to the specific individual""s page.
If the user desires, it is also possible for the user to simply input the VBook number, whereby the system may prompt the user for a VPage identifier. Also, when the user is finished with one VPage from a VBook, the user may move to another VPage within that VBook by inputting only the VBook identifier (instead of having to input the VBook and VPage combination again). Other VCode schemes could include a portion that identifies a VCode provider or VNAP to identify a VNAP on whose server a VBook or VPage resides and/or a content provider identifier portion to identify a content provider whose content is being provided. For convenience of reference, a VCode with two or more portions will be referred to as a multi-level VCode. Each portion of a multi-level VCode may be separated by a separation character (e.g., the * key). Alternatively, different separation characters can be used to designate different portions of a VCode. Other VCode schemes may be used.
Another aspect of the invention relates to a VCode registration system. VCode registration, according to one embodiment of the invention, enables a central system for registration of VCodes or portions of VCodes. For example, if many companies provide content that is accessible through a VNAP, each company may have assigned to it one or more codes to identify that company. That company identifier code may be a portion of a multi-level VCode that permits users to access that company""s content via a VNAP. The registration system preferably stores information identifying where that company""s content is stored, so that a VNAP can retrieve such content when requested by a user. Other aspects of the VCode registration system are described below.
According to one embodiment, a VCode registry resides at the VNAP (or in communication with the VNAP). When a user enters a VCode, the VCode registry is checked to determine where the content corresponding to the VCode is stored. The VCode registry returns the address of the content for use by the VNAP to retrieve the requested content. If the VCode is a multi-level VCode, the VCode registry can resolve the various portions of the VCode to identify the content the user is requesting and its location.
Another aspect of the invention relates to storing content that may be retrieved via telephone, preferably so that the user may hear the content. The content may be stored in various formats. One convenient format for storage of certain content is a sound file format. In other cases, content may be stored in other formats. For example, content may be stored as text. In this case, when the text is retrieved, it may be passed through a text-to-speech engine to create synthesized sound for the user to hear. The content is preferably stored as separate VPages. Preferably, whenever content is stored, a VCode or multi-level VCode is assigned to it, and the VCode and any other information necessary to retrieve the content is stored in one or more registries.
According to one embodiment, content may be created by a VNAP. Thus, a single organization may both create the content and make it available to users via a VCode system. However, it may be desirable for a VNAP to encourage others to create and/or update content for the VNAP. In this case the creator of content will be referred to as a content provider, although it should be understood that a VNAP may also be a content provider as that term is used. For various reasons, including those detailed below, it may be desirable for content providers to register with a VNAP. Various procedures and protocols may be established by a VNAP to govern the posting of content to the VNAP""s VCode system. Various mechanisms by which content may be posted are detailed below.
In one embodiment, participants in the system may be permitted to create voice content to be presented in VPages through a VPage creation module that provides a user interface through which VPages may be created. That module may be accessible over the Internet (World Wide Web) or over a telephone network. The voice content that a user may create may comprise structured voice pages including audio, dialogs, menus, and links and may be stored in a variety of formats as well. The voice content may be stored as a XML-based voice file (e.g. TML or Voice XML), that references sound and text files. In this embodiment, participation is made easier by enabling users to call a VPage creation module via a telephone or log into a VPage creation module via the internet and through a series of menus, create a VPage. In one embodiment, the user records his or her voice for the module. That VPage is then be stored by the VNAP or other system for access by users of the network. For example, the VPage creation module may ask a VPage creator to input the name of the VPage, and the user is then prompted to speak the name. Next, the VPage creator may ask the user to input the subject matter of the VPage and the user is then prompted to speak the subject. Then the VPage creator may ask the user to input the body of the VPage and the user may then record the body. Prompts may then be provided to provide links to other VPages and requests for other content. The VPage creation module may also be used to modify or change an existing VPage. For example, through a web interface via the Internet a user may be presented with a depiction of the structure of a VPage. That web page interface may then present the user with a selection to generate an outgoing call to a telephone through which the user may create and store audio for inclusion in the VPage being reviewed online.
One embodiment of the invention relates to a system and method for enabling users to use these novel VCodes to selectively access stored content via a telephone device. Based on information made available to the user, the user calls in to a VNAP and enters a VCode corresponding to the desired content. The VNAP locates the requested content (e.g., by referring to the registry) retrieves the content (e.g., the VPage or VBook) and provides the content to the user via the user""s phone, enabling the user to hear the content. In some cases, the VNAP may also provide text for display on the user""s phone, or other output to a wireless access protocol device.
A user may access a VNAP by dialing a central number for the VNAP. As detailed below the number may by a local number, a long distance number, an 800, 888, 877 (or equivalent) number, (e.g., 1-800-TALKNET, 1-800-VNET411, 1-888-88-VOICE), a 900 (or equivalent) number, or in some cases may be some other combination of keys. For example, a VNAP may arrange with one, several or even all wireless network providers to enable its customers to contact the VNAP by dialing xe2x80x9c*Vxe2x80x9d or some other easily remembered combination of characters, such as #VN, 311 or #VOICE. Also, wireless phones or other devices may be provided with a special key or input to directly access a VNAP. Also, through arrangements with the telephone company, landline telephones may access the system through a code like (*V, for example) as well. Also, a direct link on certain phones may be provided upon picking up the handset.
According to one embodiment, the following business method may be implemented. A VNAP coordinates with a VCode display host for the host to display a sign or other indicator of a VCode, preferably for an object, attraction or subject associated with a display host location. Preferably, the display comprises the VCode, a brief description of the content available for that VCode and a central number (or other directions) for contacting the VNAP. Upon seeing such a display of interest, a user places a phone call to the central number for the VNAP, and when prompted enters the VCode of interest. The VNAP provides the user with content via the user""s phone, preferably audible content corresponding to the selected VCode.
The VNAP may charge the user a fee for the content. The VNAP may bill the user in any of a number of ways as described herein. According to one embodiment, the VNAP shares a portion of the fee with one or more of the display host(s), the content provider(s) and phone network(s) over which the phone call is made. According to another embodiment, the VNAP pays a set fee to the VCode display host entity. The VCode display host may also be the content provider and therefore, may receive a share proportionally to its contribution to the system.
One example of this embodiment is as follows. The VCode display host entity may be a museum. One or more exhibits at the museum may have a VCode displayed in association therewith, along with the central number for the VNAP. If the user desires to obtain more information about the exhibit, the user dials the central number to connect to the VNAP, and when prompted, enters the VCode for that exhibit. The VNAP in turn retrieves content associated with the entered VCode and plays it for the user over the user""s phone. The VNAP charges the user a fee (e.g., per call, per code, per minute or otherwise). The revenue derived from a VCode linked to the museum is recorded by the VNAP and a predetermined portion of that revenue may be paid to the museum. This method is beneficial for several reasons. The visitors benefit because their experience can be enhanced by receiving additional information for selected exhibits. The museum benefits because its patrons are provided additional benefits without cost to the museum, and in fact, the museum may obtain additional revenue from fee sharing with the VNAP. The VNAP benefits by collecting revenue for the service it provides. The VNAP and/or museum may also benefit in other ways.
For example, according to another embodiment, the VCode system may be used to enable a user to request a transaction. For example, the museum or other organization may offer souvenirs and other products or services that can be ordered via telephone by use of a VCode or in connection with use of a VCode. For example, a VCode may be assigned to a particular transaction (e.g., the purchase of a souvenir associated with an exhibit). The VCode may be displayed in proximity to the exhibit (or elsewhere). The user may call the central number and, when prompted, may enter the VCode to indicate the desire to execute the transaction associated with the VCode. If necessary, the VNAP may collect other information from the user to complete the transaction.
According to another embodiment, if a user calls the central number and enters a VCode corresponding to a request for content, the VNAP may inform the user of available transactions during the call. For example, if a user calls a VNAP and enters a VCode associated with information or other content pertaining to an exhibit, the VNAP may provide the user with a voice menu that informs the user of related information, services or transactions. For example, if the exhibit is an art exhibit, the user may call a central number and enter a VCode to find out more information about a particular painting. One piece of information provided may be the artist""s name. According to one embodiment, the user may be given a menu option that enables the user to purchase a book or other article pertaining to that artist. The user may purchase that book by entering a number or other input as specified in the menu.
Various fee generating and billing methodologies may be implemented.
According to one option, the central number to the VNAP may be a 900 number (or similar number) so that the user is charged based on the duration of the call. According to another option, the VNAP charges the user based on the time of the call (e.g., by the minute, in six minute intervals, by the hour, etc.), on a per call basis, on a per VCode basis or on a subscription basis. For example, a VNAP may set up a service that enables a user to pay a flat fee (e.g., monthly) for limited or unlimited access to content via VCodes. If a fee is charged on a per VCode basis, different fees may be charged for different VCodes. To facilitate this model, credits may be sold by the system, wherein different VCodes may cost a different number of credits. By charging based on credits, consumers may be charged different amounts based on their purchasing history. The per unit cost may be reduced for users who use the system more. Also, by charging in credits, the actual cost is not presented as part of the consumers""purchase.
Additionally, the VNAP may charge users for calling into the VNAP and may also charge VCode providers for access to its users. The VNAP then works as an information broker, taking a commission from both sellers and buyers of that information.
According to one business model, the VNAP may make the call free to encourage users to call. In this case, the VNAP may provide general or basic information for free but once the user is connected to the VNAP, offer xe2x80x9cpremiumxe2x80x9d VCodes corresponding to more detailed or valuable information, transactions or other fee generating mechanisms. Also, if the calls are free to users, the VNAP may generate revenues by charging the VPage providers a fee for providing their information on the VNAP. The VPage providers may include vendors, manufacturers or agents, for example, to build VPages about the items that they are marketing to consumers. For example, products may be labeled with a VCode so consumers may find more information about the product prior to a purchase.
As another method of generating revenue in this system, the VNAP may also charge advertisers for including their advertisement content with VPages. The advertising revenue may be kept by the VNAP or distributed to the various VCode providers with whose pages the advertisements were associated.
As detailed below, one such fee generating mechanism may be to encourage the user to be transferred to another VPage, VBook, VAdvertisement, or other xe2x80x9clocation,xe2x80x9d whereby the VNAP is paid a fee for such transfer. According to one business model, a referral fee may be paid to the VNAP and/or content provider for referring a user to another VPage, VBook, VAdvertisement or VNAP.
One or more VPages may contain advertisements that are delivered to a user""s phone (e.g., a voice ad). A VAdvertisement may comprise a portion or a complete VPage that advertises a product or service using voice. That VAd may provide the user with the option to purchase a good or service during the interface. The VAd may be selected based on the content requested by the user. Providers of VAds may be charged to have that VAd referenced or included in a VPage. The VAd provider may pay the VNAP, the VPage content provider or both. The VAd may be played for each or selected users upon accessing the VNAP central number or at other times. The charge may be a flat fee for a period of time, a fee for each user for whom the VAd is played or otherwise. The VAd provider may make that payment as a flat fee or based on any transactions that take place as a result of the VAdvertisement.
In the case where transactions are provided, transaction processing may be performed by the VNAP or the VNAP may transfer the call to another transaction processor. The transaction processor may be an operator, an automated system, or some combination of the two that guides the user through the transaction process (e.g., with a voice menu prompting the user to enter input via the keypad of the user""s phone or otherwise).
In one embodiment, the user may be able to register with the VNAP and provide certain information, for example, name, address, billing information, phone number, etc. Other information such as personal preferences, demographics and pyschographic data may be provided during the registration process or subsequently accumulated by the VNAP. This registration and other information may be used in a variety of ways. For example, the user""s phone number (or phone numbers) may be used in connection with a caller ID or similar service to identify the user each time the user calls in. This may enable the VNAP to accumulate a transaction history for the user. The transaction histories for each user may be stored by the VNAP in a data warehouse or other convenient storage system. This registration information also facilitates the ability to conduct transactions (for example, the purchase of goods) via the VNAP. If the VNAP identifies a user based on a caller ID (or other mechanism), and the VNAP has a profile for the user including address and credit card information (among other things), transactions may be conducted without requiring a user to enter all of this information for each transaction. If desired, security codes or passwords may be used to provide extra protection for the user and VNAP. Also, voice print authentication may be used to ensure the identity of a caller, particularly for high cost usages of the system.
According to at least one embodiment, the content of a VPage is preferably an XML-based voice content file (e.g., TML or VoiceXML) that may be interpreted by a XML-based voice content interpreter and played for the user via the user""s phone. As discussed below, XML-based voice content files are structured to provide call flow. According to another embodiment, a VNAP may also maintain an index of information or other content that is available corresponding to a VCode. For example, a VNAP may store XML-based voice content VPages, each having a corresponding VCode and may also store an index of other information (in other formats), where selected index entries may be provided to the user (e.g., via a voice menu). If the user is interested in one of the indexed entries, the VNAP retrieves the information corresponding to the selected indexed entry and provide it to the user via the user""s phone. For example, the VNAP may pass the information through a text-to-speech engine to create a sound file and play the sound file for the user via the user""s phone. Alternatively, or in addition thereto, text or other content may be displayed on or output to the user""s phone or other terminal device. Dynamic VPage generation may also be provided where VPage content is generated on the fly from other content.
In one example, the other information may correspond to information available via the World Wide Web. The index may be created by the VNAP by using standard indexing techniques or bots that search the web for content related to the content of stored VPages. Real-time searches may be done by a VNAP during a user""s call to provide current information related to the VCode entered by the user based on keywords associated with the VCode. This aspect of the invention has several advantages. One advantage is that for many topics relating to content of a VPage, it would be costly and require a lot of storage to convert each xe2x80x9chitxe2x80x9d from a web search to a sound file. By using the technique described herein, only if a user desires access to other information beyond the stored sound file is it necessary to convert the other information to a sound file, which may be stored for subsequent use or not. Other databases may also be searched for related information or other content.
One example of how various individual features described above may be implemented is as follows. A tourist in Washington, D.C. visits the Washington Monument. The person desires to learn more information about the Washington Monument. The user notices a sign posted next to the Washington Monument which indicates a VCode, and a central number that the person may call to find out more information about the Washington Monument. Accordingly, the person places a call with a wireless phone (e.g., by dialing a central number, such as an 800 number or *V on a wireless phone network to connect to the VNAP), enters the VCode and listens to the voice content from the VPage corresponding to the VCode. At convenient times, the VNAP may present the user with a menu of additional options about or relating to the Washington Monument. The menu of options may include historical data about the Monument, how the Monument was constructed, the geographic location of the Monument, the weather forecast for the area around the Washington Monument, restaurants located near the Washington Monument, bus routes and schedules near the Washington Monument, rates for taxi cabs from the Washington Monument to another location, or any of a variety of other options. Additionally, transaction options may be provided by the VNAP. Specifically, the user may be given an option to purchase a miniature model of the Washington Monument, purchase tickets to take a guided tour of the Washington Monument, or pay to hear patriotic music while touring the monument. All of these options may be presented within a menu driven system by the VNAP based on the entry of the VCode. Because of the vast amount of information and options that may be provided, hierarchical or cascaded menus may be used.
In such a system, the National Park Service that allowed the VCode to be posted, the content provider that posted the content corresponding to the VCode(s) accessed and the VNAP may all receive a portion of any fees charged based on the user""s access to the content.
According to another embodiment, a more interactive approach may be used. For example, the VPage corresponding to the Washington Monument VCode may provide the user with general information that relates to the Washington Monument. Then, the system may say xe2x80x9cWhat else would you like to know about the Washington Monument?xe2x80x9d The user could then input a voice response which is then translated using speech recognition, natural language query technology, and/or artificial intelligence to determine the best fit of the information that is available. For example, the user may say xe2x80x9cI would like to purchase a miniature copy of the Washington Monumentxe2x80x9d and accordingly the user would be passed to the transaction processing system to perform that task. Similarly, the user may say xe2x80x9cI am at the Washington Monument, how do I get to Arlington, Virginia?xe2x80x9d In response to that request, the VPage may transfer the user to a VPage providing directions from downtown Washington to Arlington, Va.
Also, multiple voice pages may exist relating to a subject from different voice content providers. Therefore, a given object may have a number of different VCodes relating thereto. For example, Monet""s Water Lillies may have a VPage in the Smithsonian but may also have a VPage from the British Museum with different content. In the Smithsonian, the Smithsonian""s Water Lillies VCode may be displayed, but in an art book published by the British Museum, the British Museum""s VCode may be displayed. The VPages may also link to one another to provide different perspectives on the same subject. One example may be VPages about a new movie wherein different newspapers provide a different movie review for a particular movie. An advertisement for the movie may list several of the VCodes of the VPages from different newspapers that reviewed the movie and stored that review as a VPage on that newspaper""s VBook.
An overview of the system architecture for enabling a VCode system according to the various embodiments described above, and other embodiments will now be summarized. In a basic embodiment, the system comprises user telephony devices connectable over a communications network to a VCode provider (VNAP) that provides voice content over the communications network to the user, based on a VCode assigned to that content by a VCode registration system. The user system comprises a telephony device (e.g., a wireless phone) for enabling the user to input voice and/or push button input (DTMF) and to receive voice content through the speaker portion of the phone or other telephony device. Other types of devices for input and output may also be used as the user system.
The user connects to the VNAP over a communications network, such as a telephone and/or wireless telephone network or the Internet, to the VNAP by dialing a predetermined telephone number. Any suitable communications network may be used in addition to and/or alternatively to the telephone networks and any mechanism for connecting may be used for that communications network.
The VNAP receives the telephone call from the user, prompts the user for a VCode corresponding to desired information, and then delivers that desired information. The VNAP may comprise a number of modules to accomplish this functionality. According to one embodiment, users call into a call center to access VPages using a VCode. The call center processes a request through a voice browser module that uses speech recognition and text to speech modules to interpret user requests for additional VPages or transactions. Once speech is received, a XML-based voice content interpreter reviews the XML-based voice content VPage being accessed to determine an appropriate response. The interpreter passes the request to a voice server which provides security, personalization, content retrieval and billing modules to operate a safe and effective VPage retrieval and delivery system. In another embodiment, the VNAP may comprise a call center for interfacing with the communications network. An incoming call is received by the call center which may identify the user and prompt the user for authentication information. Once the user is authenticated, the user inputs information about the desired page. The user supplies the requested inputs, including the VCode corresponding to the desired content.
As used herein, the term VCode should be understood to refer to an alphanumeric identifier. The term Vname may be used to refer to a verbal identifier that may be used to request voice content through a voice input system of the present invention. Throughout this specification, if the term VCode is used, it should be understood that that VCode may be input through entry of the VCode or verbal communication of a corresponding VName. Also, the VCode and corresponding VName may be the same in some embodiments of the present invention.
The VCode is provided to a VCode identifier module to identify the VPage corresponding to the VCode and to determine where that VPage is located. The VCode identifier module determines the VPage requested and then passes the identification of the desired page to a VPage retrieval module. The VCode retrieval module accesses a VPage database in communication with the VNAP to retrieve the VPage. That VPage is then passed to a VPage execution module and VPage menu module. The VPage execution module executes the VPage in conjunction with a voice output module and optionally a voice personalization module. The voice output module generates audible output from the VPage under control of the VPage execution module and passes the audible output to the call center to relay it over the communications network to the requesting user.
The VPage menu module presents menu options to the user as part of the VPage execution and controls what information is presented in the menu. As such, the user may respond to the menus presented with a choice. The choice received from the user""s telephony device is passed by the call center to the choice interpretation module which cooperates with the VPage menu module to determine the content or transaction processing that the user desires. If a transaction is desired, then the user""s transaction request is passed to a transaction processing module which may cooperate with a transaction processing system to process the request. Additionally, the VNAP provides a billing module for tracking the user""s activity on the VNAP for use in billing and allocation of fees collected from the user for use of the system. Also, the VNAP may have a preregistration and personalization module for enabling the user to preregister with the VNAP for purposes of setting up an account and for indicating how content requested is preferred to be delivered to that particular user. A telephone number identification system (such as a caller ID system) may be used to determine the user""s identity to effectuate the selected personalizations or a user may be prompted for a password/code during the call, upon which the pre-registered personalization features may be used by the VNAP during the call session.
That module may also be responsible for authentication, which may differ by VNAP and/or VCode. Authentication may comprise caller identification and may also involve password input. Voice print identification may also be used. Authentication may be set by subscribed users and content providers for specific VPages. For example, if a content provider creates a VPage with several transactions, the content provider may want to authenticate callers with called identification and password authentication to make sure that the transactions are secure. If a user and content provider have both set up authentications, then the authentication module may select between the two, such as by selecting the most secure method.
A registration system is also provided in communication with and/or as part of the VNAP to enable the VNAP to register each VPage or VBook and have a VCode assigned thereto. Users may then input the assigned VCode to request that particular VPage and may be displayed in association with the subject of the VPage. The registration system may have a database that stores correspondence between a VPage and VCode and other information as desired. A specific VCode naming convention may be used by the registration system as described herein.
According to another embodiment, the VPages provided as content may be provided by content providers. The content providers may download the voice content to be included in a VPage through HTTP, email, direct link, FTP or any other data delivery method. The content providers may provide the information as voice files, text files, or TML/VoiceXML (Telecaster Markup Language/voiceXML Language)) coded files (described below) or any other format that may be used to generate audio output.
The VNAP may further connect to a VCode display host system which displays VCodes associated with content subjects. The VNAP may forward payment of fees to the VCode display host system based on access by users to the VNAP from VCodes posted by the VCode display host system, or based on other agreed fee sharing arrangements.
According to another embodiment of the invention, the system may comprise a plurality of VNAPs connected over a network. Therefore, VPages may be provided at each VNAP and may be accessed by users that call into another VNAP due to the unique VCode assigned to each VPage.
According to another embodiment of the invention, one or more VNAPs may connect over a communications network to one or more VPage server systems. The VPage server systems may host one or more VPages and one or more VBook. The VPage server may thus store and serve VPage information to users directly or through the VNAP. In this embodiment, when the user requests a VCode from a VNAP, the VNAP determines through the VCode identifier module whether the VPage corresponding to the VCode is hosted by a VPage server at that VNAP or by another VNAP. If the VPage is maintained by another VNAP, the VNAP connects to the other VNAP over the communications network, requests the VPage corresponding to the VCode and executes the VPage according to the above description. Because VPages may be added and revised frequently, the VCode identifier module may cooperate with a VCode resolution system that accesses a global registration system to determine the VPage and VNAP corresponding to a requested VCode.
Each VPage server may host one or more VPages or VBooks and may comprise a database system that stores each VPage or VBook. Additionally, transaction processing hosts may store transaction information in other databases.
Each VPage server may comprise a plurality of modules for performing this functionality. Specifically, the VPage server may serve identified pages over the communications network to the VNAP requesting them. Also, a VPage storage engine may be provided for storing VPages in the associated database system when received from a content provider. A VPage translation system may be provided to convert text files to voice files for storage as voice files or for delivery to users and may perform other translation functions as desired. An email/FTP processing system may be provided by the VPage server to receive email and FTP downloads of content from content providers for storage in the database and inclusion in one or more VPages. Also, a voice-to-text system may be provided to convert voice files to text, if desired. A voice recording system may also be provided to enable content providers to directly record voice content for storage and inclusion in VPages. Also, a TML engine may be provided for creating, compiling and storing TML files that are to be stored and served by that VPage server. This and other system architectures may comprise a voice network access system that connects these components to provide a community of users that are connected to a community of content providers through one or more VNAPs.
Other objects and advantages of the invention will be apparent to one of ordinary skill in the art upon reviewing the detailed description of the invention.